.\"     # DS - begin display
.de DS
.RS
.nf
.sp
..
.\"     # DE - end display
.de DE
.fi
.RE
.sp
..
.TH rlm_acct_unique 5 "3 February 2004" "" "FreeRADIUS Module"
.SH NAME
rlm_acct_unique \- FreeRADIUS Module
.SH DESCRIPTION
The \fIrlm_acct_unique\fP module creates a unique accounting session
Id.
.PP
Many NAS vendors have their equipment supply an Acct-Session-Id
attribute which is not unique over reboots.  This makes accounting
difficult, as there will be many independent sessions with the same
Acct-Session-Id attribute.  This module uses the Acct-Session-Id
attribute, along with other attributes in the request, to create a
more unique session ID, called Acct-Unique-Session-Id.
.PP
The main configuration items to be aware of are:
.IP key
A list of the attributes used in calculating an MD5 hash which is used
as the value for the unique session id.
.SH CONFIGURATION
.DS
modules {
  ...
.br
  acct_unique {
.br
	key = "User-Name, Acct-Session-Id, NAS-IP-Address, NAS-Port"
.br
  }
.br
  ...
.br
}
.br
 ...
.br
preacct {
  ...
.br
  acct_unique
  ...
.br
}
.DE
.PP
After generating the MD5 hash, the module adds it to the accounting
request packet received from the client.  It will look something like
this in your detail file:
.PP
.DS
	Acct-Unique-Session-Id = "c66ef57e480b9d26"
.DE
.PP
NOTE:  Any attribute you specify that is not found in the 'dictionary' 
file will cause the server to fail and exit with an error.
.PP
NOTE:  If you want the Acct-Unique-Session-Id of the Start and the
Stop packet of a particular session to match, you must use values for
the key that will stay the same for the Start and Stop.  The above 
example is a good start.  Adding 'Acct-Session-Time', for example, would 
cause a mismatch because that value is not the same on the Start and 
Stop accounting packets.
.PP
.SH SECTIONS
.BR authorization,
.BR pre-accounting,
.BR accounting
.PP
.SH FILES
.I /etc/raddb/radiusd.conf
.PP
.SH "SEE ALSO"
.BR radiusd (8),
.BR radiusd.conf (5)
.SH AUTHORS
Chris Parker, cparker@segv.org
